package drds.data_migrate.task_group.task.data_exchange.record.column;


import drds.common.Author;
import drds.data_migrate.Authors;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;

@Author(name = Authors.LI_YANG)
public abstract class Column
{
    @Setter
    @Getter
    private String columnType;

    @Setter
    @Getter
    private Object object;


    public Column(final Object object, final String columnType)
    {
        this.object = object;
        this.columnType = columnType;

    }

    //
    public Boolean asBoolean()
    {
        throw new IllegalArgumentException("该方法不支持!");
    }

    public Byte asByte()
    {
        throw new IllegalArgumentException("该方法不支持!");
    }

    public Short asShort()
    {
        throw new IllegalArgumentException("该方法不支持!");
    }

    public Float asFloat()
    {
        throw new IllegalArgumentException("该方法不支持!");
    }

    public Double asDouble()
    {
        throw new IllegalArgumentException("该方法不支持!");
    }

    public Integer asInteger()
    {
        throw new IllegalArgumentException("该方法不支持!");
    }

    public Long asLong()
    {
        throw new IllegalArgumentException("该方法不支持!");
    }

    public String asString()
    {
        throw new IllegalArgumentException("该方法不支持!");
    }

    public BigDecimal asBigDecimal()
    {
        throw new IllegalArgumentException("该方法不支持!");
    }

    public Date asDate()
    {
        throw new IllegalArgumentException("该方法不支持!");
    }

    public Time asTime()
    {
        throw new IllegalArgumentException("该方法不支持!");
    }

    public Timestamp asTimestamp()
    {
        throw new IllegalArgumentException("该方法不支持!");
    }
}